#pragma once

#include "EventEntry.h"
#include "ObjectArray.h"

#include <adwaita.h>

G_BEGIN_DECLS

typedef enum
{
	/* 添加一条新事件 */
	ADD_DIALOG_NEW_EVENT = 0,
	ADD_DIALOG_SIGNAL_END,
} AddDialogSignal;

#define EVENT_TYPE_ADD_DIALOG (event_add_dialog_get_type())
G_DECLARE_FINAL_TYPE(EventAddDialog, event_add_dialog, EVENT, ADD_DIALOG,
		     AdwDialog)

extern EventAddDialog *event_add_dialog_new(void);

/* 将 EventEntry 设置为默认模板 */
extern void event_add_dialog_set_default_template(EventAddDialog *self,
						  EventEntry	 *entry);

/**
 * 设置可用事件组。请注意！将接管 ObjectArray。
 */
extern void event_add_dialog_take_usable_group(EventAddDialog *self,
					       ObjectArray *usable_group_array);

/**
 * @brief 获取用户输入的信息
 */
extern euint32	   event_add_dialog_get_group_id(EventAddDialog *self);
extern const char *event_add_dialog_get_group_name(EventAddDialog *self);
extern time_t	   event_add_dialog_get_end_time(EventAddDialog *self);
extern const char *event_add_dialog_get_event_name(EventAddDialog *self);
extern const char *event_add_dialog_get_event_describe(EventAddDialog *self);
extern bool	   event_add_dialog_get_is_important(EventAddDialog *self);

G_END_DECLS
